package com.xr.system.mapper;

import com.xr.system.common.base.MyBaseMapper;
import com.xr.system.entity.userModule.AdminMenuVo;
import com.xr.system.entity.userModule.AssociatedRoleDto;
import com.xr.system.entity.userModule.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 总后台用户表(User)表数据库访问层
 */
@Mapper
public interface UserMapper extends MyBaseMapper<User> {

	/**
	 * 移除用户分配的角色
	 * @param params
	 * @return com.northeastern.university.common.model.JsonData
	 */
	void removeAssociatedRole(AssociatedRoleDto params);

	/**
	 * 给用户分配角色
	 * @param params
	 * @return com.northeastern.university.common.model.JsonData
	 */
	int associatedRole(AssociatedRoleDto params);

	/**
	 * 获取当前登录人菜单
	 * @param userId
	 * @return
	 */
	List<AdminMenuVo> getMenuListByUserId(Long userId);

	/**
	 * 通过用户id 查询用户所有角色code
	 * @param id 用户id
	 */
	List<String> selectRoleCodeByUserId(Long id);

}
